Jump To:
Technical Q&As
Mac OS X offers game developers state-of-the-art audio, 2D and 3D graphics, networking capabilities, and human interface features. With OpenGL, Quartz, Velocity Engine, and the Mac OS X development tools and frameworks, Apple provides developers with everything they need to build or port exciting and compelling games.

Games Resources
A guided introduction and learning path to developing games for Mac OS X.  
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sorted by
Date
OpenGL Sample Code (HTML)
QA1166: Describes new naming convention for OpenGL sample code
Carbon, Cocoa, Graphics & Imaging 2004-12-01
Using Interface Builder's NSOpenGLView or Custom View objects for an OpenGL application (HTML)
QA1167: Describes usage cases for both NSOpenGLViews and Custom Views for Cocoa OpenGL applications
Cocoa, Graphics & Imaging 2004-10-28
How do I determine how much VRAM is available on my video card? (HTML)
QA1168: Using Core Graphics and IOKit to find the physical size of VRAM on installed hardware.
Cocoa, Graphics & Imaging 2004-10-11
NSTimers and Rendering Loops (HTML)
QA1385: Using Cocoa timers (NSTimer) to drive a rendering loop
Cocoa, Graphics & Imaging 2004-10-04
CGBitmapContextCreate Supported Color Spaces (HTML)
QA1037: Lists the color space and alpha info combinations currently supported by CGBitmapContextCreate.
Carbon, Cocoa, Graphics & Imaging 2004-09-09
Avoiding Pauses When Looping Audio files with QuickTime (HTML)
QA1371: Demonstrates how to avoid pauses when looping audio files with QuickTime
Music & Audio 2004-09-08
Getting a Packet Trace (HTML) ()
QA1176: Lists tools available for looking at the network packets on the wire.
Networking 2004-07-13
Context Sharing Tips (HTML) ()
QA1248: How to correctly share OpenGL contexts and what the limits on this sharing are.
Carbon, Graphics & Imaging 2003-06-24
Updating OpenGL Contexts (HTML) ()
QA1209: When and why to update an OpenGL context in response to system and user actions.
Carbon, Graphics & Imaging 2003-06-19
Is ColorSync thread safe? (HTML) ()
QA1261: Discusses ColorSync thread-safety issues.
Graphics & Imaging 2003-04-17
Internet Connect Speed (HTML) ()
QA1165: Describes how to get the modem connection speed from the System Configuration framework dynamic store.
Networking 2003-03-26
Debugging Graphics with QuartzDebug (HTML) ()
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Graphics & Imaging 2003-02-25
Accessing HTTPS Proxy Settings (HTML) ()
QA1234: Describes how to programatically access Secure Web Proxy information.
Networking 2003-02-19
Finding Missing OpenGL CFM Entry Points (HTML) ()
QA1225: A resolution to Mac OS X 10.2 OpenGL CFM applications which break under Mac OS X 10.1.
Carbon, Graphics & Imaging 2002-12-23
Using Clip Region and Buffer Rectangles with OpenGL Carbon (HTML) ()
QA1222: Shows the basics of using buffer rectangles and clip regions with AGL.
Carbon, Graphics & Imaging 2002-12-19
How do I tell if a particular display is being hardware accelerated by Quartz Extreme? (HTML) ()
QA1218: Describes how to use CGDisplayUsesOpenGLAcceleration to see if a display is accelerated or not.
Carbon, Cocoa, Graphics & Imaging 2002-12-04
How can I programmatically determine the DPI of the current video mode? (HTML) ()
QA1217: Describes how to compute the DPI for a given display in a given mode using Core Graphics.
Carbon, Cocoa, Graphics & Imaging 2002-12-02
GetProcAdress and OpenGL Entry Points (HTML) ()
QA1188: Technique for finding function pointers for OpenGL entry points in Cocoa and Carbon
Carbon, Graphics & Imaging 2002-11-25
Preserving embedded ICC profiles when using QuickTime Graphics Importer/Exporters (HTML) ()
QA1145: Shows how to preserve the embedded ICC profile when using the QuickTime Graphics Importer/Exporter routines
Graphics & Imaging 2002-09-04
Retain Counts of io_object_t Objects in IOKit.framework (HTML) ()
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Human Interface Device & Force Feedback 2002-09-04
Current GDevice Dependencies (HTML) ()
QA1115: Describes potential problems with creating windows or ports when the current GDevice isn't the main device.
Carbon, Graphics & Imaging, Porting 2002-02-13
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Porting 2001-10-25
Setting the preferred CMM programatically? (HTML)
QA1086: Uses the NCMConcatProfileSet structure to specify the CMM to be used to make the CMWorldRef with the NCWConcatColorWorld function.
Graphics & Imaging 2001-10-24
Carbon Full Screen Conundrums (HTML)
QA1068: Describes the available Mac OS X DrawSprocket services.
Carbon, Graphics & Imaging 2001-08-20
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Human Interface Device & Force Feedback, Performance 2001-06-13
OpenGL Texture Sharing Between Contexts (HTML)
QA1031: Describes the process of creating shared OpenGL contexts and sharing textures between these contexts.
Carbon, Graphics & Imaging 2001-05-01
How do I use QuickDraw with CGDirectDisplay? (HTML)
QA1011: Explains how to draw to a CGDirectDisplay-captured display using QuickDraw.
Carbon, Graphics & Imaging 2001-04-11
QDFlushPortBuffer (HTML) ()
QD65: Describes a possible solution for window update problems under Carbon.
Graphics & Imaging, Porting 2000-11-08
Open Transport Libraries (HTML) ()
NW18: Lists the Open Transport libraries and what to link with for PowerPC and 68K.
Carbon 2000-11-03
Correct Setup of an AGLDrawable (HTML)
OGL02: Describes the setup of an AGLDrawable.
Carbon, Graphics & Imaging 2000-10-04
aglChoosePixelFormat, The Inside Scoop (HTML)
OGL01: Describes the nuances of aglChoosePixelFormat, including specific information on multi-monitor support.
Graphics & Imaging 2000-04-03
TCP/IP Option Sizes (HTML) ()
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Carbon, Networking 1999-04-26
OTScheduleDeferredTask When Task Running (HTML) ()
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Performance 1997-10-13
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Carbon, Cocoa, Networking, Performance, Porting 1997-03-14
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) ()
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Networking 1996-10-25
Using Temporary Memory with OpenPicture (HTML)
Deprecated - QD20: Provides several techniques of causing OpenPicture to allocate temporary memory for a picture handle.
Carbon 1996-02-01
Incorrect Inside Macintosh Volume V documentation (HTML)
Deprecated - QD15: Identifies incorrect documentation in Inside Macintosh Volume V regarding the formats of PnPixPat and BkPixPat opcodes.
Carbon 1995-09-15